Seção errada.
Dúvidas sobre scripts é neste tópico:
http://www.xtibia.com/forum/forum/86-pedidos-e-duvidas-scripting/
Atenção da próxima vez e não esqueça de ler as regras da seção.
Reportado para moverem.
info
Group: Conde
Joined: 04/08/12
Posts: 762
Reputation: +80

Seção errada.
Dúvidas sobre scripts é neste tópico:
http://www.xtibia.com/forum/forum/86-pedidos-e-duvidas-scripting/
Atenção da próxima vez e não esqueça de ler as regras da seção.
Reportado para moverem.
info
Group: Campones
Joined: 09/09/12
Posts: 28
Reputation: 0
Tibia Character: Bluetone Devay

info
Group: Marquês
Joined: 22/07/12
Posts: 1.1k
Reputation: +400
Gender: Masculino
Tibia Character: Luck Oake

creaturescripts.xml:
<event type="death" name="MonsterCharge" script="monstercharge.lua"/>
monstercharge.lua:
function onDeath(cid, deathList)
mmsg = "sim" -- Mandar mensagem? Sim ou nao
msg = "Você obteve 1x charge de spell." -- Mensagem que será mandada
stor = getPlayerStorageValue(cid, 3172)
if stor == -1 then
setPlayerStorageValue(deathList[1], 3172, 1)
else
setPlayerStorageValue(deathList[1], 3172, stor+1)
end
if mmsg == "sim" then
doPlayerSendTextMessage(deathList[1], MESSAGE_STATUS_CONSOLE_ORANGE, msg)
end
return true
end
No monstro que você quer, adiciona isso antes de </monster>:
<script> <event name="MonsterCharge"/> </script>
Adicione isso no script da spell que você quer que tenha charges, abaixo de onCastSpell:
if getPlayerStorageValue(cid, 3172) == 0 then doPlayerSendCancel(cid, "Not enough charges.") return false end charges = getPlayerStorageValue(3172) setPlayerStorageValue(cid, 3172, charges-1)
Edited Setembro 11 by LuckOake
info
Group: Conde
Joined: 04/08/12
Posts: 762
Reputation: +80

Eu vi que o Luck postou ai, só que já tava acabando uma, então apenas ignore.
Quem quiser usar:
Fiz uma que só pode usar se tiver certo item:
Usei o exemplo com um skyring.
Testado em TSF 8.6.
Em data/spells/scripts crie um arquivo.lua nomeie para skyring e adicione:
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 47)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -5.9, -68, -4.9, 109)
local arr1 = {
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
{0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0},
}
local area = createCombatArea(arr1)
setCombatArea(combat, area)
function onCastSpell(cid, var)
if getPlayerSlotItem(cid, CONST_SLOT_RING).itemid == 2123 then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You use POWER ENERGY!")
return doCombat(cid, combat, var)
else
doPlayerSendCancel(cid, "Você não possui o Skyring.")
doSendMagicEffect(getPlayerPosition(cid), 2)
end
end
Editando:
-Azul: Areá de efeito e hit (1 para ativar e 0 para desativar)
-Marrom: Efeito (/z)
-Teal: Formula de attack
-Laranja: Local do slot
Lista:
head = CONST_SLOT_HEAD,
armor = CONST_SLOT_ARMOR,
legs = CONST_SLOT_LEGS,
feet = CONST_SLOT_FEET,
ring = CONST_SLOT_RING,
necklace = CONST_SLOT_NECKLACE
-Roxo: Id do item
-Vermelho: Mensagem em baixo da tela
-Verde: Mensagem no centro da tela
Em spells.xml:
<instant name="skyring" words="energy power" lvl="100" mana="1600" prem="1" exhaustion="1200" selftarget="1" needlearn="0" script="skyring.lua">
<vocation id="2"/>
<vocation id="6"/>
<vocation id="1"/>
<vocation id="5"/>
</instant>
Qualquer dúvida para editar a tag pergunte.
Edited Setembro 11 by Newtonnotwen
info
Group: Campones
Joined: 09/09/12
Posts: 28
Reputation: 0
Tibia Character: Bluetone Devay

@
Deu erro !
[11/09/2012 18:53:01] data/creaturescripts/scripts/monstercharge.lua:7: attempt to index local 'deathList' (a number value)
[11/09/2012 18:53:01] stack traceback:
[11/09/2012 18:53:01] data/creaturescripts/scripts/monstercharge.lua:7: in function <data/creaturescripts/scripts/monstercharge.lua:1>
info
Group: Marquês
Joined: 22/07/12
Posts: 1.1k
Reputation: +400
Gender: Masculino
Tibia Character: Luck Oake

Hm... Tá, tenta ai. Não prometo que funciona, mas tentemos.
function onDeath(cid, deathList)
mmsg = "sim" -- Mandar mensagem? Sim ou nao
msg = "Você obteve 1x charge de spell." -- Mensagem que será mandada
stor = getPlayerStorageValue(cid, 3172)
tkiller = getPlayerGUID(deathList[1])
if stor == -1 then
setPlayerStorageValue(tkiller, 3172, 1)
else
setPlayerStorageValue(tkiller, 3172, stor+1)
end
if mmsg == "sim" then
doPlayerSendTextMessage(tkiller, MESSAGE_STATUS_CONSOLE_ORANGE, msg)
end
return true
end
Edited Setembro 11 by LuckOake
info
Group: Campones
Joined: 09/09/12
Posts: 28
Reputation: 0
Tibia Character: Bluetone Devay

Deu erro ainda se liga lek eu tenho um script desses ai só que tipo não ta com carga se eu mandar pra tu tu poe carga nele ?
info
Group: Marquês
Joined: 22/07/12
Posts: 1.1k
Reputation: +400
Gender: Masculino
Tibia Character: Luck Oake

Sim. Manda ele ai.
info
Group: Campones
Joined: 09/09/12
Posts: 28
Reputation: 0
Tibia Character: Bluetone Devay

Pode ser pelo skype ou msn ?
info
Group: Marquês
Joined: 22/07/12
Posts: 1.1k
Reputation: +400
Gender: Masculino
Tibia Character: Luck Oake

Não, só atendo pedidos via Private Message aqui no XTibia.
info
Group: Campones
Joined: 09/09/12
Posts: 28
Reputation: 0
Tibia Character: Bluetone Devay

Vishi como manda privat RIARIAI so novo malz :x
vou enviar como msg tá ?
Mandei como msg !
Viiiiu ?
@
Ta Aew ?
info
Group: Marquês
Joined: 22/07/12
Posts: 1.1k
Reputation: +400
Gender: Masculino
Tibia Character: Luck Oake

Rapaz, por favor, não fique floodando no tópico, isso não é permitido. Espere um pouco que já edito aqui, vou tentar fazer o que você pediu.
info
Group: Campones
Joined: 09/09/12
Posts: 28
Reputation: 0
Tibia Character: Bluetone Devay

Malz é que eu to agoniado pensei que tu tinha deixado pra la :s Mas valeu leks pela consideração
info
Group: Visconde
Joined: 11/08/10
Posts: 477
Reputation: +175
Gender: Masculino

o script q vc colocar na pasta creaturescripts/scripts
function onDeath(cid, corpse, deathList) addchar = 3 --quantas cargas add ao matar mmsg = "sim" -- Mandar mensagem? Sim ou nao msg = "Você obteve "..addchar.."x charge de spell." -- Mensagem que será mandada stor = getPlayerStorageValue(deathList[1], 3172) if stor == -1 then setPlayerStorageValue(deathList[1], 3172, addchar) else setPlayerStorageValue(deathList[1], 3172, stor+addachar) end if mmsg == "sim" then doPlayerSendTextMessage(deathList[1], MESSAGE_STATUS_CONSOLE_ORANGE, msg) end return true end
Edited Setembro 11 by Eskylo
info
Group: Campones
Joined: 09/09/12
Posts: 28
Reputation: 0
Tibia Character: Bluetone Devay
Cooé Rapaziada sussa? Ai to querendo um script de magias de cargar no meu ot eu botei um boss que quando tu mata ele tu ganha um magia mas eu quero ela por com carga Ex:mata o bixo ganha 3x Da Magia Diablo Rain... Falou Lekada !